home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / Hack / MISC / HTCC1.ZIP / HTC_C1.TXT
Encoding:
Text File  |  1996-08-06  |  21.6 KB  |  409 lines

  1.  
  2. HOW TO CRACK, by +ORC, A TUTORIAL
  3.  
  4. LESSON C (1) -  How to crack, Cracking as an art
  5.  
  6. [BARCODES]
  7.      First of all, let me stress the importance of cracking in
  8. our everyday life. Cracking it's not just about software, it's
  9. about information, about all patterns of life. To crack is to
  10. refuse to be controlled and used by others, to crack is to be
  11. free. But you must also be yourself free from petty conventions
  12. in order to crack properly.
  13.      You must learn to discerne cracking possibilities all around
  14. yourself, and believe me, the development of this ghastly society
  15. brings every day new codes, protections and concealing
  16. mechanismes.
  17.      All around us grows a world of codes and secret and not so
  18. secret patterns. Codes that are at times so familiar and common
  19. that we do not even notice them any more... and yet they are
  20. there to fool us, and yet they offer marvellous cracking
  21. possibilities.
  22.      Let's take as an striking example BARCODES... those little
  23. lines that you see on any book you buy, on any bottle you get,
  24. on any item around you... do you know how they work? If you do
  25. not you may be excused, but you cannot be excused if you never
  26. had the impulse to understand them... crackers are curious by
  27. nature... heirs of an almost extinct race of researchers that has
  28. nothing in common with the television slaves and the publicity
  29. and trend zombies around us. Cracker should always be capable of
  30. going beyond the obvious, seek knowledge where others do not see
  31. and do not venture.
  32.  
  33. [BARCODE HISTORY]
  34.      Let's begin with a little history. Universal Product Code
  35. (UPC) was adopted for commercial use by the grocery industry in
  36. the USA. Among the advantages were a rapid, accurate and reliable
  37. way of entering stock information into a computer and the
  38. possibility to sack a lot of workers and to do more profit. The
  39. early success led to the development of the European Article
  40. Numbering System (EAN), a symbology similar to UPC, that is
  41. widely used in Europe and in the rest of the World. I'll teach
  42. you to crack this one, since I do not -fortunately- live in the
  43. States. Keep in mind, anyway, that there are different barcode
  44. symbologies, each with its own particular pattern of bars. The
  45. UPC/EAN code used on retail products is an all-numeric code; so
  46. is the Interleaved 2 of 5 Code. Code 39 includes upper case
  47. letters, digits, and a few symbols. Code 128 includes every
  48. printable and unprintable ASCII character code. The most new one
  49. is a 2-D code. These are special rectangular codes, called
  50. stacked barcodes or matrix codes. They can store considerably
  51. more information than a standard barcode. They require special
  52. readers which cost more than a standard scanner. The practical
  53. limit for a standard barcode depends on a number of factors, but
  54. 20 to 25 characters is an approximate maximum. For applications
  55. that need more data, matrix codes are used. For example, the next
  56. time you receive a package from United Parcel Service look for
  57. a small square label with a pattern of dots and a small bullseye
  58. in the centre. This is a MaxiCode label, and it is used by UPS
  59. for automatic destination sortition.
  60.      The manufacturer's ID number on the barcode uniquely
  61. identifies products. These numbers are managed by the Uniform
  62. Code Council in Dayton, Ohio for the States and Canada and by the
  63. EAN authority (Internationale Article Numbering Association) in
  64. Bruxelles, for Europe and the rest of the World. The
  65. manufacturer's ID number accounts for some digits of the code,
  66. which leaves other digits to be assigned in any way the producer
  67. wants. He provides retail outlets with a list of his products and
  68. their assigned codes so that they can be entered in the cash
  69. register system. Many codes are NOT on the products and are added
  70. by the supermarkets on the fly, using an internal code schema
  71. that may be non standard. Now it's enough... let's crack.
  72.      BARCODES are the only thing an automated casher needs to see
  73. on a product to calculate its price and automatically catalogate
  74. the sold merchandise... imagine (just imagine it :=) coz it would
  75. be extremely illegal to act in this way) somebody would fasten
  76. an adhesive home-made codebar label direct on the top of the
  77. supermarket/mall/retail store label, say on a bottle of Pomerol
  78. (that's a very good but unfortunately very expensive french
  79. wine).
  80.      The new label would mean for the casher something like
  81. "cheap wine from Bordeaux, France, cost so and so, everything
  82. it's OK, do not worry"... do you think that anybody would come
  83. to the idea that there is something wrong with the label, with
  84. the bottle or with you? I have been codebaring for years and had
  85. only once a problem, coz my printer was running out of ink and
  86. the scanner in the supermarket could not read it... so what? Act
  87. uninterested, always wear jackets of the utmost quality, shetland
  88. pullovers and beautiful expensive shoes... (all articles that you
  89. may codebar too, by the way), in this society appearance and look
  90. count much more than substance and knowledge... LET'S USE THIS
  91. TO OUR ADVANTAGE! Nobody will ever come to the idea that you may
  92. actually really know the working of the scheme... coz codebar is
  93. pretty complicated and not exactly exceptionally public. On the
  94. Web there are a lot information about it, but most of them are
  95. useless, unless you know how to search most of the time you'll
  96. find only sentences like this one:
  97.           "The calculated check digit is the twelfth and final
  98.           digit in the U.P.C.code. It is calculated based on a
  99.           specific algorithm, and is necessary to ensure that
  100.           the number is read or key-entered correctly."
  101.  
  102. But good +ORC will now explain you everything you need to crack:
  103.  
  104. [THE 13 BAR "CODES"]
  105. Each barcode label has 13 values, from #0 to #12 (that's the EAN
  106. code, the UPC american one has only 12, from #0 to #11).
  107.      #0 and #1 indicate the origin of the product.
  108.      #2 to #11 give the article code
  109.      #12 (the last and 13th one) is a checksum value, that
  110.      verifies the validity of all the other numbers.
  111. How is it calculated? #12 is calculated in 4 steps
  112.      VALUE A:  You sum odd position numbers (#0+#2+#4+#6+#8+#10)
  113.      VALUE B:  You sum even position numbers and multiply by 3
  114.                ((#1+#3+#5+#7+#9+#11)*3)
  115.      VALUE C:  You sum value A and value B
  116.      VALUE D:  You mod value C (you divide by 10 and only keep
  117.      the remaining units, a very widespread checking scheme as
  118.      you'll see in the software part of this lesson)
  119.      If the result is not zero, you subtract it from 10.
  120. Now look at a barcode label, get some books or other barcoded
  121. items and *watch* it...
  122. Bar codes are supposed to have "quiet zones" on either side of
  123. the symbol. Quiet zones are blank areas, free of any printing or
  124. marks,typically 10 times the width of the narrowest bar or space
  125. in the bar code. Failure to allow adequate space on either side
  126. of the symbol for quiet zones can make it impossible to read the
  127. bar code.
  128. On the barcode there are two "borders", left and right, and a
  129. "middle" longer line. These three lines are longer than the
  130. others and are used to "regulate" the scanner to whatever
  131. dimension has been used for the barcode.
  132. #0 dwells left of the first (left) border and has a special
  133. meaning, the other 12 numbers are written "inside" the code and
  134. are divided in two "groups" by the middle bar.
  135. Each value is coded through SEVEN bars: black=1 and White=0.
  136. These form two couples of "optic" bars of different widths.
  137. We come now to the "magic" part: In order to bluff the
  138. simpletons, barcode uses three different SETS of characters to
  139. represent the values 0-9. This should make it impossible for you
  140. to understand what's going on, as usual, in this society, slaves
  141. should not need to worry with the real functioning of things.
  142.    Here are the graphic codes of the three graphic sets:
  143.  
  144.      CODE A            CODE B (XOR C)    CODE C (NOT A)
  145. 0:  0001101   (13)     0100111   (39)    1110010   (114)
  146. 1:  0011001   (25)     0110011   (51)    1100110   (102)
  147. 2:  0010011   (19)     0011011   (27)    1101100   (108)
  148. 3:  0111101   (61)     0100001   (33)    1000010   (066)
  149. 4:  0100011   (35)     0011101   (29)    1011100   (092)
  150. 5:  0110001   (49)     0111001   (57)    1001110   (078)
  151. 6:  0101111   (47)     0000101   (05)    1010000   (080)
  152. 7:  0111011   (59)     0010001   (17)    1000100   (068)
  153. 8:  0110111   (55)     0001001   (09)    1001000   (072)
  154. 9:  0001011   (11)     0010111   (23)    1110100   (116)
  155.  
  156. Borders:       101
  157. Centre:        01010
  158.  
  159. - The C graphic set is a "NOT A" graphic set.
  160. - The B graphic set is a "XOR C" graphic set.
  161. - each value has two couples of bars with different widths
  162.  
  163.  Now watch some labels yourself... see the difference between the
  164. numbers left and the numbers right? The first "half" of the
  165. barcode is coded using sets A and B, the second "half" using set
  166. C. As if that were not enough, A and B are used inside the first
  167. "half" in a combination that varies and depends from value #0,
  168. following 10 different patterns:
  169.               #1   #2   #3   #4   #5  #6
  170.    0          A    A    A    A    A    A
  171.    1          A    A    B    A    B    B
  172.    2          A    A    B    B    A    B
  173.    3          A    A    B    B    B    A
  174.    4          A    B    A    A    B    B
  175.    5          A    B    B    A    A    B
  176.    6          A    B    B    B    A    A
  177.    7          A    B    A    B    A    B
  178.    8          A    B    A    B    B    A
  179.    9          A    B    B    A    B    A
  180.  
  181. "Ah! Stupid buyer will never understand why the same values gives
  182. different bars! Nothing is as reliable as barcodes!" :=)
  183.  
  184. Let's take as example the codebar for Martini Dry:
  185. BARCODE:    8 0 00570 00425 7
  186. Let's see: we have a 8 0 0 = booze
  187. Then a 000570 as ABABBA and a 004257 as C
  188. "Even" sum: 8+0+5+0+0+2 = 15 (even sum)
  189. Then a 0+0+7+0+4+5= 16 and 16 *3 = 48 (odd sum)
  190. Then a 15+48=63
  191. 63 === 3
  192. 10 - 3 = 7 = checksum
  193. Pattern = 8 = ABABBA CCCCCC
  194.  
  195. OK, one more example: Osborne Windows programming series Volume
  196. 2 General purpose API functions (always here on my table)...
  197. BARCODE: 9 7 80078 81991 9
  198. Let's see: we have a 9 7 8 = book
  199. Then a 780078 as ABBABA and a 819919 as C
  200. "Even" sum: 9+8+5+8+8+4 = 42 (even sum)
  201. Then a 7+1+5+2+4+4= 23 and 23 * 3 = 69 (odd sum)
  202. Then a 42+69=111
  203. 111 === 1
  204. 10 - 1 = 9 = checksum
  205. Pattern = 9 = ABBABA
  206.  
  207. Well... what's the point of all this?
  208. The point, my pupils, is that who DOES NOT KNOW is taken along
  209. on a boat ride, who KNOWS and LEARNS can use his knowledge in
  210. order to try to beat blue and black the loathsome consumistic
  211. oligarchy where we are compelled to live. Try it out for
  212. yourself... if you crack correctly and wisely your supermarket,
  213. mall and library bills will be cut to almost zero.
  214.      Write a small program to print whichever codebar you fancy
  215. (or whichever your mall uses) in whichever size on whichever sort
  216. of label you (or better your targets) fancy... it's quickly done
  217. with Visualbasic or Delphy... but you'll not find much on the Web
  218. Alternatively you could also write, as I did long ago, a short
  219. c program in dos, using a modified upper char set... and there
  220. you are, have labels... see the world.
  221.      A small word of caution... crack only ONE item at time and
  222. try it out first with the SAME label for the same product... i.e.
  223. the correct code for that item, but on your own label. If it goes
  224. through your program works good, if not, nobody will ever be able
  225. to harm you. Anyway it never happens anything, never: the bar
  226. code reading equipments have great tolerance, coz the scanners
  227. must be able to recognize barcodes that have been printed on many
  228. different medias. You should choose labels similar to the ones
  229. effectively used only in order not to arise human suspects, coz
  230. for all the scanner itself cares, your label could be pink with
  231. green stripes and with orange hand-written, numbers. Mind you,
  232. we are still just academically imagining hypothetical situations,
  233. coz it would be extremely illegal to act in such an inconsiderate
  234. manner.
  235.      CRACKING POWER! It's true for barcodes, for Telecom bills,
  236. for Compuserve accounts, for Amexco cards, for banking cheques
  237. (do you know what MICR is? Magnetic Ink Character Recognition...
  238. the stylized little printing on the lower left of new cheques...
  239. there is a whole cracking school working on it), for registration
  240. numbers... you name it, they develope it, we crack it...
  241.      Begin with barcodes: it's easy, nice and pretty useful! Live
  242. in opulence, with the dignity and affluence that should always
  243. distinguish real crackers. Besides... you should see the
  244. assortment of 'Pomerols' in my "Cave-a-vin" :=)
  245.  
  246. [INSTANT ACCESS]
  247.      The (c) Instant access routines are a commercial protection
  248. scheme used to "unlock" complete commercial applications that
  249. have been encrypted on CD-
  250. ROMs which are distributed (mostly) through reviews.
  251.      This is an ideal cracking target: it's commercial software,
  252. complete, uncrippled and of (relatively) prominent quality, that
  253. you can get in tons for the price of a coke. Obviously this kind
  254. of protection represents an ideal subject for our lessons. This
  255. fairly intricate protection scheme has not yet been cracked by
  256. anybody that I am aware of, anyway not publicly, therefore it's
  257. an ideal candidate for a "strainer" to my university. I'll teach
  258. you here how to crack it in three lessons, C.1, C.2 and C.3. I warn
  259. you... it's a difficult cracking session, and this protection
  260. represents quite an intellectual challenge. But if you are
  261. seriously interested in our trade you will enjoy these lessons
  262. more than anything else.
  263.      This cracking is intended as an "assignment" for my +HCU
  264. "cracking university": you'll find inside lessons C.1 and C.2 a
  265. relatively deep "introduction" to Instant access cracking. This
  266. will teach you a lot anyway, and spare you hours of useless
  267. roaming around, bringing you straight to the cracking point. But
  268. I'll release the third part of this session, with the complete
  269. solution (lesson C.3) on the Web only in october 1996, not a day
  270. before. All the students that would like to apply to the Higher
  271. Cracking University, opening on the web 01/01/1997, should work
  272. in July, August and September (three months is more than enough
  273. time) on this assignment. They should crack completely the
  274. instant access scheme and send me their solutions, with a good
  275. documentation of their cracking sessions, before 30/09/1996
  276. (WATCH IT! You can crack this scheme in -at least- three
  277. different paths, be careful and choose the *best* one. WATCH IT! 
  278. Some of the informations) in lesson C.1 and C.2 are slightly incorrect:
  279. check it!).
  280. There are four possibilities:
  281. 1)   The candidate has not found the crack or his solution is
  282.      not enough documented or not enough viable... the candidate
  283.      is therefore not (yet) crack-able, he will not be admitted
  284.      to the +HCU 1997 curses, better luck in 1998;
  285. 2)   The cracking solution proposed by the candidate is not as
  286.      good as mine (you'll judge for yourself in october) but it
  287.      works nevertheless... he'll be admitted at the 1997
  288.      courses;
  289. 3)   The cracking solution of the candidate is more or less
  290.      equal to mine, he'll be admitted, personally monitored, and
  291.      he'll get all the material he needs to crack on higher
  292.      paths;
  293. 4)   The cracking solution of the candidate is better than mine,
  294.      he'll be admitted, get all the material he wishes and asked
  295.      to teach us as well as study with us: "homines, dum docent,
  296.      discunt".
  297.  
  298. [Cracking Instant access]
  299.      The user that wants to "unlock" a software application
  300. protected with (c) Instant Access must enter first of all a
  301. REGISTRATION number string, which through a series of
  302. mathematical manipulations gives birth to a special "product"
  303. code. On the basis of this "product code" the user is asked to
  304. phone the commercial protectors (and pay) in order to get a
  305. special "unlock code" that will allow him to decrypt the relevant
  306. software.
  307.      This kind of "passnumber" protection routines are widely
  308. used for software unlocking, BBS access, server access, backdoor
  309. opening and many other protection schemes. We have already seen
  310. password cracks in different lessons of this tutorial (in
  311. particular Lessons 3.1 and 3.2 for DOS and Lessons 8.1, 8.2 and
  312. 9.1 for WIN) albeit on a more simplistic scale: there it did
  313. mostly not matter very much *HOW* you passed the protection: once
  314. passed, you could have access to the application. This is not the
  315. case with (c) Instant Access. Face it: it's a little boring, but
  316. important that you learn how to defeat intricate protection
  317. routines (you'll meet them often in the next years) and I believe
  318. that the following example will give you a "feeling" for the
  319. right cracking approach.
  320.      In this case we must not only "crack" this protection scheme
  321. but also study it thoroughly in order to achieve our blessed
  322. aims. This is a very good exercise: reverse disassembling will
  323. teach you a lot of little tricks that you'll be able to use in
  324. your other future cracking sessions.
  325.      Instant access (c) is a exceptionally widespread protection
  326. scheme, and it should be relatively easy for you to gather some
  327. encrypted software that has been protected with this method...
  328. *DO IT QUICKLY!!* After the Web publishing of this lessons (I am
  329. sending C.1 to 8 pages and 4 usenet groups on 25/06/1996) this
  330. protection is obviously as dead as a Dodo. The "Accessors" guys
  331. will have to conceive something smarter if they want to keep
  332. selling "protections" to the lamer producers of "big" software.
  333.      BTW, if you are reading this and are working for some
  334. commercial "protection" company, consider the possibility to
  335. double cross your masters! Deliver me anonymously all the future
  336. projects you are working on! That will amuse me, speed up the
  337. advent of a true altruistic society and earn you the respect of
  338. the better part of humanity.
  339.      As I said, many "huge" application are still protected with
  340. this "Instant access" system. I have personally bought at least
  341. 7 or 8 "second hand" CD-ROMs packed full with Microsoft, Lotus,
  342. Norton, Symantec, you name it, applications all "protected"
  343. through this crap. The cost of this bunch of CD-ROMs was the
  344. equivalent of a bottle of Dry Martini, maybe less. The same
  345. software is sold, unlocked, to zombies and lusers for ludicrous
  346. amounts of money.
  347.      Never buy CD-ROMs magazines when they appear! Be cool! Buy
  348. them two or three months after the publishing date! Buy
  349. "remainders" or "second hand" CD-ROM magazines "at kilo price"...
  350. Come to think of it, never buy *anything* when it appears or when
  351. some (paid) advertiser tells you to... remember that "trends",
  352. "vogues", "fashions" and "modes" are only different names for the
  353. whips that drill and chain the dull-witted slaves of this
  354. loathsome society: "clever crackers consider cool, crack cheap,
  355. cheat customary culture" (a rhetorical figure: an "Alliteration".
  356. To defend yourself learn rhetoric... it's a more powerful and
  357. more useful weapon than Kung-fu).
  358.      The "triple" password protection routine in (c) Instant
  359. Access is very interesting from a cracker point of view. It's a
  360. relatively complex scheme: I'll teach you to crack it in two
  361. phases: First of all you must find the "allowed" registration
  362. code, the one that "ignites" the "product code". We must crack
  363. and understand this re_code first if we want to crack the rest.
  364.      Just for the records, I am cracking here (c) Action Instant
  365. access version 1.0 (CD-ROM found on a old copy of "Personal
  366. Computer World" of August 1994, packed full with encrypted Lotus,
  367. Symantec, Claris and Wordperfect applications. Just to be sure
  368. I crosschecked my results with another CD-ROM which also has
  369. applications protected with (c) Instant Access: Paragon
  370. Publishing's PC OFFICE: the protection scheme remains the same).
  371. I am focusing for this lesson on the cracking of the specific
  372. protection for the encrypted Symantec's Norton Utilities v.8.0.
  373.      Please refer to the previous lessons for the basic
  374. techniques used in order to find the protection routine inside
  375. our babe... for "low" cracking purposes you -basically- type a
  376. number (in this case, where the input gets 10 numbers, we'll use
  377. "1212-1212-12"), do your search inside the memory (s 30:0
  378. lffffffff "your_string") and then set memory breakpoints on all
  379. the relevant memory locations till winice pops (I know, I know,
  380. buddies... there are more effective ways... but hold your mouth:
  381. for now we'll keep them among us: let's make things a little
  382. harder for the protectionists who read this... Besides: the old
  383. approach works here flawlessly). After getting the Registration
  384. window on screen the Winice standard procedure is:
  385.  :task                        ; how
  386.  :heap IABROWSE               ; where & what
  387.  :hwnd IABROWSE               ; get the Winhandle
  388.  :bpx [winhandle] WM_GETTEXT  ; pinpoint code
  389.  :bpx GetProcAddress          ; in case of funny routines
  390.  :dex 0 ds:dx                 ;          let's see their name
  391.  :gdt                         ; sniff the selectors
  392.  :s 30:0 lffffffff "Your_input_string" ; search in 4 giga data
  393.  :bpr [all memory ranges for your string that are above 80000000]
  394. and so on.  (continued in lesson C.2)
  395.  
  396. Well, that's it for this lesson, reader. Not all lessons of my
  397. tutorial are on the Web.
  398.      You 'll obtain the missing lessons IF AND ONLY IF you mail
  399. me back (via anon.penet.fi) with some tricks of the trade I may
  400. not know that YOU discovered. Mostly I'll actually know them
  401. already, but if they are really new you'll be given full credit,
  402. and even if they are not, should I judge that you rediscovered them 
  403. with your work, or that you actually did good work on them,
  404. I'll send you the remaining lessons nevertheless. Your
  405. suggestions and critics on the whole crap I wrote are also
  406. welcomed.
  407.  
  408. E-mail +ORC: an526164@anon.penet.fi
  409.